#pragma once
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
typedef int ListNodeDataType;
typedef struct ListNode
{
	ListNodeDataType data;
	struct ListNode* next;
	struct ListNode* prev;


}ListNode;

//初始化
ListNode* ListNodeInit();
//新节点的创建
ListNode* BuyNewNode(ListNodeDataType x);
//打印链表
void PrintListNode(ListNode* phead);
//尾插
void PushBack(ListNode* phead, ListNodeDataType x);
//尾删
void PopBack(ListNode* phead);
//头插
void PushFront(ListNode* phead, ListNodeDataType x);
//头删
void PopFront(ListNode* phead);
//查找值为x的节点
ListNode* Findx(ListNode* phead, ListNodeDataType x);
//在pos节点前插入一个值为x的节点
void InSert(ListNode* phead, ListNode* pos);
//删除pos节点
void Erase(ListNode* phead, ListNode* pos);


